(C) 1996 AROS - The Amiga Replacement OS


NAME
#include <intuition/classes.h>
#include <proto/intuition.h>
struct IClass * MakeClass()
SYNOPSIS
UBYTE * classID
UBYTE * superClassID
struct IClass * superClassPtr
ULONG instanceSize
ULONG flags

LOCATION
In IntuitionBase at offset 113
FUNCTION
Only for class implementators.

This function creates a new public BOOPSI class. The SuperClass should be another BOOPSI class; all BOOPSI classes are subclasses of the ROOTCLASS.

SuperClasses can by private or public. You can specify a name/ID for the class if you want it to become a public class. For public classes, you must call AddClass() afterwards to make it public accessible.

The return value contains a pointer to the IClass structure of your class. You must specify your dispatcher in cl_Dispatcher. You can also store shared data in cl_UserData.

To get rid of the class, you must call FreeClass().

INPUTS
classID
NULL for private classes otherwise the name/ID of the public class.
superClassID
Name/ID of a public SuperClass. NULL is you don't want to use a public SuperClass or if you have the pointer your SuperClass.
superClassPtr
Pointer to the SuperClass. If this is non-NULL, then superClassID is ignored.
instanceSize
The amount of memory which your objects need (in addition to the memory which is needed by the SuperClass(es))
flags
For future extensions. To maintain comaptibility, use 0 for now.
RESULT
Pointer to the new class or NULL if - There wasn't enough memory - The superclass couldn't be found - There already is a class with the same name/ID.

NOTES
No copy is made of classID. So make sure the lifetime of the contents of classID is at least the same as the lifetime of the class itself.

EXAMPLE
BUGS
SEE ALSO
INTERNALS
HISTORY
01.04.1997 digulla
Removed log
27.03.1997 digulla
Updated comments

Renamed SigSem into IBaseLock

Added semaphore for ClassList. This semaphore is always requested when the ClassList is accessed.

20.03.1997 digulla
Fixed bug: Added FindClass()
17.03.1997 srittau
Fixed some typos in FUNCTION description.
27.01.1997 ldp
Polish
10.12.1996 aros
Moved #include into first column to allow makedepend to see it.
08.11.1996 aros
All OS function use now Amiga types

Moved intuition-driver protos to intuition_intern.h

24.10.1996 aros
Use the official AROS macros over the __AROS versions.
23.10.1996 aros
Ooops.. PublicClassList is a MinNode list :-)
28.08.1996 digulla
Proportional gadgets BOOPSI